Date: Wed, 20 Nov 1996 22:28:53 GMT
Server: NCSA/1.5.1
Last-modified: Wed, 17 Apr 1996 19:35:09 GMT
Content-type: text/html
Content-length: 4491

<TITLE>Parallel Computation</TITLE>

<H2>Introduction to Parallel Computation (4 cr.) -- Sprint 1996</H2>
<DL>
<DT>Lecture 
<DD> 4:00P-5:15P MW
</DL>


<H3>Contents</H3>

<UL>
<LI> <!WA0><A HREF="#general">General information</A>
<LI> <!WA1><A HREF="#description">Course description</A>
<LI> <!WA2><A HREF="#materials">Course materials</A>
<LI> <!WA3><A HREF="#syllabus">Syllabus and lecture scripts</A>
<LI> <!WA4><A HREF="#assignments">Assignments</A>
<LI> <!WA5><A HREF="#communication">Communication</A>
<LI> <!WA6><A HREF="#evaluation">Evaluation</A>
<LI> <!WA7><A HREF="#gradebooks">Gradebooks</A>
<LI> <!WA8><A HREF="#policies">Policies</A>
</UL>

<A NAME="general"><H2>General Information</H2></A>

<DL>
<DT> Instructor
<DD> <!WA9><A HREF="http://www.cs.indiana.edu/hyplan/gannon.html">
	Dennis Gannon</A>,  email: <EM>gannon.cs.indiana.edu</EM> <BR>
     
<DT> Associate Instructor
<DD> <!WA10><A HREF = "http://www.cs.indiana.edu/hyplan/vmenkov.html">
Vladimir Menkov</A>, email: <em>vmenkov.cs.indiana.edu</em>
</DL> 

<H3>Office Hours</H3>

To be Anounced.

<A NAME="description"><H3>Course Description</H3></A>

This is a course about parallel and distributed computing.
Our approach will be based on an object oriented model of parallel
computation.  We will begin with basic parallel machine and algorithm
analysis.  Then we will move quickly into implementing these algorithms
in an experimental library for parallel program design, called HPC++.
We will be involved with the implementation of this library, so students
will all be required to have an extensive background in C++. 
We will develop the HPC++ library as we go along this semester. 

<H4>Topics include:</H4>
<UL>
<li> Basic theoretical background of parallel algorithm design.
<li> Parallel programming on distributed memory multicomputers.
<li> Parallelism and shared memory multiprocessors.
<li> Parallel Object Oriented Computing.
<li> Parallel Programming Languages and Libraries - HPC++, MPI, HPF.
<li> Distributed Computing: CORBA and Nexus.
<li> Compilation technology for automatic parallelization.
<li> Performance Analysis Tools.
</UL> 


<A NAME="materials"><H3>Course Materials</H3></A>
<DL>
<DT> Text
<DD> Ian Foster <EM>Designing and Building Parallel Programs</EM> 
Adison Wesley. 1995 (see <!WA11><A HREF = "http://www.mcs.anl.gov:80/dbpp/">here</A>
for the electronic version of the text.
<DT> Recommended
<DD> Kumar, Grama, Gupta and Karypis <EM>Introduction to Parallel
Computing: Design and Analysis of Algorithms</EM> Benjamin, 1994
</DL>


<A NAME="syllabus"><H3>Syllabus</H3></A>

<pre>
   Week 1	Parallel computer designs and models.
   Week 2       C++: an "advanced review".  HPC++ design.
   Week 3	Algorithms: parallel iteration, reduction and prefix.
   Week 4	Relaxation algorithms and simple linear systems.
   Week 4	Divide and conquer: searching and sorting.
   Week 5	Transforms.
   Week 6	MPI 
   Week 7	SP2 systems programming.
   Week 8	HPF
   Week 11	Distributed Computing: CORBA
   Week 13	Distributed Computing: Nexus
   Week 14	Compiler analysis.
   Week 15	Parallelizing program transformations


<A NAME="assignments"><H3>Assignments</H3></A>

Assignments will be given each week.  Normally these will be due the
following week.   Some of the assignments will be large programming
projects which will be given longer periods of time.

<UL> 
<LI> <!WA12><A HREF="http://www.extreme.indiana.edu/~gannon/c690assign1.html"> Assignment 1</A>
<LI> <!WA13><A HREF="http://www.extreme.indiana.edu/~gannon/c690assign2.html"> Assignment 2</A>
<LI> <!WA14><A HREF="http://www.extreme.indiana.edu/~gannon/c690assign3.html"> Assignment 3</A>
<LI> <!WA15><A HREF="http://www.extreme.indiana.edu/~gannon/c690assign4.html"> Assignment 4</A>
<LI> <!WA16><A HREF="http://www.extreme.indiana.edu/~gannon/c690lastExercise.html"> Last Assignment</A>
</UL>

<A NAME="communication"><H3>Communication</H3></A>

The course newsgroup, <!WA17><A NAME=1 HREF="news:ac.csci.c690g">ac.csci.c690g</A>, will be
used to post announcements, such as assignments, exams, and any exceptions
to our usual office hours.  You are also encouraged to use it to post
questions related to the course or share related information with the
class.  Make a habit of looking for new notes a few times each week.<P>
On individual matters, please feel free to contact your instructor or
associate instructor via email.

<A NAME="evaluation"><H3>Evaluation</H3></A>
<UL>
<LI> 50% -- Homework
<LI> 50% -- Final Exam (take home), 
</UL>

<A NAME="policies"><H3>Policies</H3></A>


<H4>Incomplete grade</H4>
An incomplete (I) final grade will be given only by prior arrangement in
exceptional circumstances conforming to university and departmental policy
in which the bulk of course work has been completed in passing fashion.<P>

